!% -SD !=============================================================================== Constant Story "Blasphemy"; Constant Headline "^A simple Inform example ^by gwillen.^"; Include "Parser"; Include "VerbLib"; !=============================================================================== ! The game objects Object church "A church" with description "You are standing in the nave of a church. Fifteen rows of simple wooden pews stand before a wooden altar. The ceiling is two stories above you, and the top halves of the east and west walls are filled with panes of exquisite stained glass images. The lower halves are arcades: periodic columns separated by archways. To the south are the entrance doors; through the archways to the west another doorway leads outside.", name 'church' 'room' 'nave' 'ceiling' 'wings', w_to cemetary, s_to path, has light; Object -> arcades "arcade" with description "The archways separate the main central area of the church from wings off to the sides. The columns are smooth white-painted wood. Through the arches to the west, a doorway leading outside is visible.", name 'arcade' 'arcades//p' 'arch' 'arches//p' 'archway' 'archways//p' 'east' 'west' 'wall' 'walls//p' 'columns' 'wood' 'wooden', has scenery; Object -> doorway "doorway" with description "It leads outside.", name 'door' 'doorway', has scenery; Object -> windows "window" with description "The stained-glass windows depict biblical scenes. If only you had paid attention in Sunday school, you might recognize some of them. Even so, they are magnificent pieces of artwork.", name 'stained' 'glass' 'window' 'windows//p' 'wall' 'walls//p' 'east' 'west' 'scenes' 'art' 'artwork', has scenery; Object -> pews "pew" with description "The pews are just simple wooden benches.", name 'pew' 'pews//p' 'wooden' 'benches', plural "pews", has scenery; Object -> altar "altar" with description "The altar is bare and unadorned.", name 'altar' 'wooden', has scenery; Object -> bible "bible" with description "The Good Book, they call it. They never said what was supposed to be so great about it.", name 'holy' 'bible' 'book', initial "A Holy Bible rests on the floor next to a pew.", before [; Open: print "How odd. It seems to be glued shut.^"; return true; Insert: if (second ~= lakewater) { return false; } print "You walk to the water's edge and throw the bible with all your might. It enters the water with a spash and quickly vanishes beneath the surface. Several heads turn, perplexed; but you couldn't really offer an explanation even if they asked. It just seemed like the thing to do.^"; deadflag = 2; return true; ]; Object cemetary "A cemetary" with description "Beside the church is a cemetary with a few dozen graves. Most of the tombstones are crumbling, but a few of them still stand. The church stands to the east. A small fence prevents leaving the cemetary except back the way you came, into the church.", e_to church, in_to church, cant_go "The only way out seems to be back into the church.", name 'cemetary' 'small' 'fence', has light; Object -> church_cem "church" with description "The church rises two stories to the east. The stained-glass windows are less impressive when seen from the outside, but still cool.", name 'church' 'building', has scenery; Object -> grave "tombstone" with description "Only one has a readable inscription, to wit:^^ HERE LIES HAROLD Q. BOVIK^ MAY HE FIND THE PEACE IN DEATH^ WHICH WAS DENIED TO HIM IN GRAD SCHOOL.", name 'tomb' 'tombstone' 'tombstones//p' 'grave' 'graves//p' 'marker' 'markers//p', before [; Take: print_ret "That would be a bit disrespectful, don't you think?"; ], has static; Object path "A path" with description "A gravel path leads between the church doors to the north, and a lake to the south.", n_to church, s_to lake, name 'path', has light; Object -> church_path "church" with description "The church rises two stories to the north. The grand double doors stand open, inviting you inside.", name 'church' 'building' 'doors' 'double', has scenery; Object -> lake_path "lake" with description "You can hardly see it from here.", name 'lake', has scenery; Object lake "A lake" with description "A lake extends to the south as far as the eye can see. There are children splashing about on a sandy beach, and sailboats moving surprisingly quickly under the influence of a strong wind. A path leads off to the north, towards a church in the distance.", n_to path, name 'beach' 'path', has light; Object -> children "children" with description "The children seem to be playing some sort of game involving a spinning disk they are throwing through the air. It looks kind of fun, actually.", name 'children' 'child' 'disk' 'disc', has pluralname scenery animate; Object -> boats "boats" with description "The sailboats are racing along the lake. The one in the lead is being sailed by a kid who couldn't be more than 16 and seems to be having the time of his life.", name 'kid' 'boat' 'boats//p' 'sailboat' 'sailboats//p', has pluralname scenery; Object -> lakewater "lake" with description "The water is rippling under a quite strong breeze.", name 'water' 'lake', has container open scenery; !=============================================================================== ! Entry point routines [ Initialise; location = church; ]; !=============================================================================== ! Standard and extended grammar Include "Grammar"; !===============================================================================